The present disclosure relates to the field of computer graphics processing. Particularly disclosed herein is a method and system for generating complex gradients using multiple conics in real time.
As used herein, a “gradient” is an arrangement of shading, i.e., variation of color, typically along some geometric curve. An example of one such gradient is illustrated in FIG. 1. Such gradients are used in a variety of applications, including backgrounds and screen savers for personal computers and on-air graphics and backgrounds for television programs, etc. One drawback is that historically it has been difficult to produce interesting, i.e., attractive, visually pleasing gradients. Often designers resort to using complex image editing software packages, such as Adobe Photoshop, to virtually airbrush the images, essentially hand-rendering the images. This process is obviously quite involved and time consuming, and has limited the usability of such gradients.
Furthermore, it would be desirable to be able to animate gradients for applications such as computer screen savers and/or on-air graphics. Historically, complicated animation packages have been required to produce moving gradient renderings. The complexity, availability, and obscurity of these software packages have limited the widespread adoption of such systems because many graphic designers lack the computer expertise to use them effectively.
Additionally, computer system resources, coupled with the complexity of rendering such gradients have prohibited real time rendering of such images. In the few applications where gradients could be computed in real time, system limitations have effectively limited real time systems to one gradient at a time. This provides a substantial limitation to the graphic designer and therefore limited the applicability of gradients. It would be desirable to have real time systems capable of processing multiple gradients concurrently.
Therefore, what is needed in the art, is a solution to the aforementioned problems of gradient generation.